// vuex的权限模块

import { asyncRoutes, constantRoutes } from '@/router'
// vuex中的permission模块用来存放当前的 静态路由 + 当前用户的 权限路由

const state = {
  routes: constantRoutes // 所有人默认拥有静态路由
}

const mutations = {
  setRoutes(state, newRoutes) {
    state.routes = [...constantRoutes, ...newRoutes]
  }
}

const actions = {
  filterRoutes(store, menus) {
    // 过滤的两种方法
    // const routes = []
    // // 遍历个人权限列表
    // menus.forEach(key => {
    // //   console.log(21, asyncRoutes)
    // // 遍历动态路由列表
    //   routes.push(...asyncRoutes.filter(item => item.name === key))
    // })
    // console.log(25, menus)

    // 第二种方法（比较简洁）
    const routes = asyncRoutes.filter(item => menus.includes(item.name))
    // console.log(27, asyncRoutes)
    store.commit('setRoutes', routes)
    return routes
  }
}
export default {
  namespaced: true,
  state,
  mutations,
  actions
}

